1. Field of the Invention
The present invention relates to a technology for aiding a system design, and more specifically, to a technology preferably used when a system to be designed is divided into a plurality of functional blocks and is designed according to each functional block.
2. Description of the Related Art
Described here is a technology for carrying out a system design, for example, of a built-in device which implements some processing for input data and outputs the processed data in accordance with the object-oriented design which is publicly known as a software design technology. In this technology, firstly, the functions required to satisfy the specifications required for a system to be designed are extracted, and then, the procedure for realizing each individual function extracted is indicated as a sequence. The sequence indicates the relationship between the constituents which constitute the system to be designed and the data which is delivered and received among the constituents, and a diagram in which the sequence is chronologically indicated is a sequence diagram.
When sequences are implemented in parallel in a designed system, two cases could generate according to the combination of the sequences to be implemented. One is the case in which data is smoothly delivered and received among the constituents of the system, and the other is the case in which the delivery and receiving of data to and from the same constituent compete at the same time between some sequences, so data is not smoothly delivered and received. When there is a possibility that the latter case takes place, it is necessary to prepare a means for avoiding the competition.
Described below is FIG. 1, which shows the conventional procedure which was used to avoid the competition.
In FIG. 1, three messages arrayed in the order of (1) new, (2) check and (3) addTail are shown. Talking of each message, (1) new implements the sequence of “object a1001 makes object b1002”; (2) check implements the sequence of “confirming that object a1001 can access object b1002”; and (3) addTail implements the sequence of “object a1001 adds other data to the end of the data of object b1002.”
When the check sequence is implemented, the processing of judging whether object b1002 is accessible or not is implemented in S2001. In this judgement processing, the judgement result becomes Yes only when no other object (which is not shown in FIG. 1) accesses object b1002, and object a1001 accesses object b1002 in S2002. When the result of the judgement processing in S2001 is No, the judgement processing in S2001 is repeatedly implemented, and while this repeated processing continues, object a1001 does not access object b1002.
For a system which was designed by a conventional design method, it was necessary to prepare a means for avoiding the competition to implement the processing in S2001 and S2002 for all the sequences in which the competition is likely to take place.
In designing a system, the method is generally practiced in which the architecture for realizing the functions peculiar to the system to be designed is added, and parts unnecessary for the system to be designed are removed based on the system to be designed and the system which has specifications similar to the specifications required for the system to be designed and which has already been designed, thus reducing the work load in a system design compared with the method of newly setting all the work loads in the system design. However, when such a design method is employed, since no alteration is added to the combination of sequences (that is, functional blocks) of the system which has been confirmed to properly function and which has already been designed as much as possible, there were a lot of instances in which such a means for avoiding the competition as mentioned above is provided in order to add new sequences, thus preventing the simplification of a system design.